export function cloneObject(templateData) {
  // templateData 是要复制的数组或对象，这样的数组或者对象就是指向新的地址的
  return JSON.parse(JSON.stringify(templateData))
}

//递归cas数据数组,返回选中id 的数组路径,如果数据库存 9， 对应cas路径 [1,3,9]
export function recursiveData(data, arr, newArr, selectId) {
  data.forEach(item => {
    if (item.value == selectId) {
      newArr.push(cloneObject(item.value))
      newArr.forEach(d => {
        arr.push(d)
      })
    } else {
      if (item.hasOwnProperty('children') && item.children != null && item.children != undefined) {
        var nextArr = cloneObject(newArr)
        nextArr.push(item.value)
        recursiveData(item.children, arr, nextArr, selectId)
      }
    }
  })
}

//递归cas数据数组,返回选中id 的标签名,如果数据库存 9，对应标签名
export function recursiveName(data, arr, selectId) {

  data.forEach(item => {
    if (item.value == selectId) {
      arr.push(cloneObject(item.label))
    } else {
      if (item.hasOwnProperty('children') && item.children != null && item.children != undefined) {
        recursiveName(item.children, arr, selectId)
      }
    }
  })
}

export function disable(children) {
  if (children.length > 0) {
    return true
  } else {
    return false
  }
}

//设置最后一项可以选择
export function multipleChoice(arr) {
  arr.forEach(col => {
    if (col.children) {
      col.disabled = this.disable(col.children)
      this.multipleChoice(col.children)
    } else {
      col.disabled = false
    }
  })
}
